import { ButtonType } from 'vant';
import { PropType } from 'vue';
export declare type ButtonShape =  'circle' | 'round';
export declare type ButtonHTMLType = 'submit' | 'button' | 'reset';
export declare type LegacyButtonType = ButtonType | 'danger';
export declare type SizeType = 'large' | 'mini' | 'small' | 'normal' ;

export const buttonProps = {
	type: {
		type: String as PropType<ButtonType>,
		default: 'default',
	},
	htmlType: {
		type: String as PropType<ButtonHTMLType>,
		default: 'button',
	},
	shape: {
		type: String as PropType<ButtonShape>,
		default: 'circle',
	},
	size: {
		type: String as PropType<SizeType>,
		default: 'normal',
	},
	loading: {
		type:
			Boolean ||
			(Object as PropType<{
				delay?: number;
			}>),
		default: false,
	},
	disabled: {
		type: Boolean,
		default: false,
	},
	ghost: {
		type: Boolean,
		default: false,
	},
	block: {
		type: Boolean,
		default: false,
	},
	danger: {
		type: Boolean,
		default: false,
	},
	icon: {
		type: String,
	},
	title: String,
	onClick: {
		type: Function as PropType<(event: MouseEvent) => void>,
	},
	onMousedown: {
		type: Function as PropType<(event: MouseEvent) => void>,
	},
};
